Re-apply Jackson 2.18.6 upgrade with round-trip test coverage#599
Open
darklight3it wants to merge 25 commits intomainfrom
Open
Re-apply Jackson 2.18.6 upgrade with round-trip test coverage#599darklight3it wants to merge 25 commits intomainfrom
darklight3it wants to merge 25 commits intomainfrom
Conversation
added 16 commits
March 24, 2026 11:43
in the serialization package.
…eMQ serialization test fixtures
Add JSON test fixtures and round-trip test cases for CognitoEvent, DynamodbTimeWindowEvent, IoTButtonEvent, and KinesisTimeWindowEvent. These were the only events registered in LambdaEventSerializers SUPPORTED_EVENTS that lacked test fixtures. Fixtures based on official AWS Lambda documentation examples. Time window event fixtures use round-trip-safe date formats to avoid coercion issues. Coverage: 32 passing + 2 known failures (34 total, up from 30).
Add UnregisteredEventSerializationRoundTripTest covering events not in LambdaEventSerializers.SUPPORTED_EVENTS: 10 Cognito UserPool triggers, 5 Kinesis Analytics events, 2 API Gateway V2 WebSocket, 2 AppSync, 1 S3 Batch, and 1 TimeWindow response. S3ObjectLambdaEvent is a known failure (Lombok xAmzRequestId naming issue). Split SerializationRoundTripTest into registered (34 tests) and unregistered (22 tests) for clarity. Total: 56 tests, 53 passing, 3 known failures.
Add ResponseEventSerializationRoundTripTest covering all 11 response event types in aws-lambda-java-events. 9 pass cleanly, 2 are known failures (IamPolicyResponse, IamPolicyResponseV1 — getPolicyDocument() returns Map<String,Object> instead of the PolicyDocument POJO, making round-trip impossible by design since these are serialize-only types). Also update SerializationRoundTripTest comment for APIGatewayV2CustomAuthorizerEvent to clarify the date format change is a lossy transformation, not a bug. Total: 69 tests (34 registered + 22 unregistered + 11 response + 2 LambdaEventAssertTest), all green. Coverage now 66/68 event classes (97%).
e4c4c62 to
a3ae0f2
Compare
01edeed to
1f4c1fc
Compare
M-Elsaeed
approved these changes
Mar 27, 2026
rarepolz
approved these changes
Mar 27, 2026
added 5 commits
March 27, 2026 15:15
…e errors when running aws-lambda-java-serialization
72e08f9 to
97f7cb0
Compare
rarepolz
approved these changes
Mar 30, 2026
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #599 +/- ##
=========================================
Coverage 65.38% 65.38%
Complexity 211 211
=========================================
Files 34 34
Lines 988 988
Branches 142 142
=========================================
Hits 646 646
Misses 290 290
Partials 52 52 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Issue #, if available:
Related to #594
Description of changes:
Upgrading
Jacksonin the serialization package from2.15.4to2.18.6. The previous update was reverted because of a suspected regression onaws-lambda-serializationhere.The root cause of the failure was not in the published artifact. I confirmed this running the new suite of tests introduced in #598 against the
1.3.0version ofaws-lambda-serialization.The real root cause was in
aws-lambda-java-serializzation.yml, specifically in:Both package and install execute the
shadegoal frommaven-shade-plugin, responsible for avoiding dependency collision with user code.This plugin executes a non idempotent action in
DateTimeModule. Specifically moving the registering namespace in the following way:Thus not registering the correct event imported from the
aws-lambda-java-eventslibrary. The tests are now failing because the default Joda Time jackson serializer changed the constructor signature.Target (OCI, Managed Runtime, both):
Both
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.